---
title: DBConnectionAPI REST API documentation
summary: Entry point for the DBConnectionAPI ASP.NET Core Web API documentation.
status: draft
owner: Architecture
last_reviewed: 2026-10-09
---

# DBConnectionAPI REST API documentation

DBConnectionAPI is an ASP.NET Core REST API that composes database connection strings (Oracle, SQL Server, PostgreSQL) for authorized callers from templates and secure credentials held in the SAIF Environment API. It validates Oracle and SQL Server strings with a throw-away connectivity probe and caches validated strings in process memory. It also exposes an administrative surface that returns the raw credential parts. Callers of this service are not determined from source**.

| Field | Value |
| --- | --- |
| **Service** | `DBConnectionAPI` (`DBConnectionAPI/DBConnectionAPI/DBConnectionAPI.csproj`) |
| **Target framework** | `net10.0` (ASP.NET Core, SDK-style `Microsoft.NET.Sdk.Web` project) |
| **Host model** | Generic host — `Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>())`; IIS in-process (`<AspNetCoreHostingModel>InProcess`) |
| **Startup type** | `Startup` : `CoreAPIStartup` (`SAIF.NetCore.ServiceExtensions`) |
| **Routing mode** | Attribute routes (`[ApiController]` + `[Route]`); no minimal APIs and no conventional routes |
| **Versioning scheme** | Literal route prefix (`v1` followed by the controller route) — not API versioning; no versioning package |
| **Base controller(s)** | `ControllerBase` |
| **Media types / serializer** | Not declared in source (no `[Produces]`, `AddJsonOptions` or `AddNewtonsoftJson`); the formatter in force is decided inside the opaque base** |
| **OpenAPI** | Swashbuckle `Swashbuckle.AspNetCore` 6.4.0 — `UseSwagger` + `UseSwaggerUI` (`swagger/v1/swagger.json`), active in every environment |
| **Composition root** | `DBConnectionAPI/DBConnectionAPI/Startup.cs` (`ConfigureServices`) |
| **Health checks** | None found; any ping endpoint contributed by the base class is not visible in source** |

## Documentation sections

| Section | Description |
| --- | --- |
| [Overview](overview.md) | Purpose, business context, and capability summary |
| [Architecture](architecture.md) | Layering, routing, the DI composition root, options binding, and error handling |
| [Hosting pipeline](hosting-pipeline.md) | Host model, server, ordered middleware, versioning, OpenAPI, health checks, telemetry |
| [Endpoints](endpoints.md) | Endpoint catalog with per-controller detail pages |
| [Authentication and authorization](authentication-authorization.md) | Authentication contributed by the base, authorization enforcement, and resource requirements |
| [Dependencies](dependencies.md) | Libraries, packages, APIs, and database connections |
| [Configuration](configuration.md) | appsettings, Environment API settings, runtime-resolved connections |
| [Operations and processes](operations-processes.md) | End-to-end processing workflows behind the endpoints |
| [Business rules](business-rules.md) | Rules enforced during request processing |
| [Data model](data-model.md) | Persistence model and connectivity-probe usage |
| [Operational runbook](operational-runbook.md) | Deployment, health verification, logs, status codes, error recovery |
| [Tech debt](tech-debt.md) | CRITICAL and HIGH severity findings |

## Controllers

| Controller | Route template | API version | Endpoints | Documentation |
| --- | --- | --- | --- | --- |
| `AdminController` | `v1/Admin` plus the action name | None (literal `v1`) | 3 | [Docs](endpoints/admin.md) |
| `ConnectionsController` | `v1/Connections` | None (literal `v1`) | 3 | [Docs](endpoints/connections.md) |

## Embedded libraries

No embedded libraries: the repository contains the API project and its test project only, and no project references.

## Related documentation
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Hosting pipeline](hosting-pipeline.md)
- [Endpoints](endpoints.md)
- [Authentication and authorization](authentication-authorization.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Data model](data-model.md)
- [Operational runbook](operational-runbook.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- DBConnectionAPI/DBConnectionAPI/DBConnectionAPI.csproj
- DBConnectionAPI/DBConnectionAPI/Program.cs
- DBConnectionAPI/DBConnectionAPI/Startup.cs
- DBConnectionAPI/DBConnectionAPI/Controllers/ConnectionsController.cs
- DBConnectionAPI/DBConnectionAPI/Controllers/AdminController.cs
- DBConnectionAPI/DBConnectionAPI/web.config
